﻿using System;
using System.Collections.Generic;
using System.Web.UI.WebControls;
using LarDosIdosos.Business.Model;
using LarDosIdosos.DataSources;

namespace LarDosIdosos
{
    public partial class WebUserControlIdoso : System.Web.UI.UserControl
    {
        private static List<Business.Model.Responsavel> listaDeResponsaveis;
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        public void CarregaVisualizacaoDoIdoso(Idoso idoso, bool habilita)
        {
            try
            {
                hiddenFieldCodigoIdoso.Value = idoso.Codigo_Idoso.ToString();
				hiddenFieldLocalFotoIdoso.Value = idoso.Foto_Idoso;
				hiddenFieldLocalRelatorioIdoso.Value = idoso.Relatorio_De_Encaminhamento;
				
				labelNomeDoIdoso.Text = idoso.Nome_Idoso;
				labelCpfDoIdoso.Text = idoso.CPF_Idoso;
                labelRgDoIdoso.Text = idoso.RG_Idoso;
                labelDataDeNascimento.Text = idoso.Data_de_Nascimento.ToString("dd/MM/yyyy");
                labelSexoDoIdoso.Text = idoso.Sexo_Idoso.Descricao_Sexo;
                labelEstadoCivilDoIdoso.Text = idoso.Estado_Civil.Nome_Estado_Civil;
                labelNacionalidade.Text = idoso.Nacionalidade_Idoso;
                labelNaturalidade.Text = idoso.Naturalidade_Idoso;
                labelGrauDeIntrucao.Text = idoso.Grau_de_Instrucao_Idoso;
                labelNomeDoPai.Text = idoso.Nome_do_Pai_Idoso;
                labelNomeDaMae.Text = idoso.Nome_da_Mae_Idoso;
                if(idoso.Relatorio_De_Encaminhamento != "")
                {
                    //statusFileUploadRelatorio.Text = idoso.Relatorio_De_Encaminhamento.Substring(idoso.Relatorio_De_Encaminhamento.LastIndexOf('/') + 1);
                    linkButtonRelatorio.Text = idoso.Relatorio_De_Encaminhamento.Substring(idoso.Relatorio_De_Encaminhamento.LastIndexOf('/') + 1);
                    linkButtonRelatorio.OnClientClick = "abrirDocumento(\"./Arquivos/Arquivo.ashx?relatorio=" + idoso.Codigo_Idoso + "\");";
                }
				if(idoso.Foto_Idoso != "")
				{
					imageFotoIdoso.ImageUrl = "/Arquivos/"+idoso.Foto_Idoso;
				}

                List<Funcionario> funcionarios = new List<Funcionario>();
                funcionarios.Add(idoso.Funcionario);


                gridViewFuncionario.DataSource = funcionarios;
                gridViewFuncionario.DataBind();

                listaDeResponsaveis = ObtemResponsaveisDoIdoso(idoso.Codigo_Idoso);
                gridViewResponsaveis.DataSource = listaDeResponsaveis;
                gridViewResponsaveis.DataBind();


            }
            catch (Exception ex)
            {
                throw new Exception("Erro na visualização do idoso.", ex);
            }
        }
		
		public void LimpaControles()
		{
			hiddenFieldCodigoIdoso.Value = "";
			hiddenFieldLocalFotoIdoso.Value = "";
			hiddenFieldLocalRelatorioIdoso.Value = "";
			
			labelNomeDoIdoso.Text = "";
			labelCpfDoIdoso.Text = "";
            labelRgDoIdoso.Text = "";
            labelDataDeNascimento.Text = "";
            labelSexoDoIdoso.Text = "";
            labelEstadoCivilDoIdoso.Text = "";
            labelNacionalidade.Text = "";
            labelNaturalidade.Text = "";
            labelGrauDeIntrucao.Text = "";
            labelNomeDoPai.Text = "";
            labelNomeDaMae.Text = "";
		    linkButtonRelatorio.Text = "";
		    linkButtonRelatorio.OnClientClick = "";
            imageFotoIdoso.ImageUrl = "";
            
            gridViewFuncionario.DataSource = new List<Business.Model.Funcionario>();
            gridViewFuncionario.DataBind();
			gridViewResponsaveis.DataSource = new List<Business.Model.Responsavel>();
            gridViewResponsaveis.DataBind();
			
		}
		
        private List<Business.Model.Responsavel> ObtemResponsaveisDoIdoso(int codigoIdoso)
        {
            DataSourceResponsavel dataSourceResponsavel = new DataSourceResponsavel();
            return dataSourceResponsavel.BuscaResponsaveisDoIdoso(codigoIdoso);
        }

        protected void gridViewResponsaveis_OnRowDataBound(object sender, GridViewRowEventArgs e)
        {
			
        }
    }
}